## Model grids -----------------------------------------------------------
grids <- list(
  rf = expand.grid(mtry = c(2,3,4,5)),
  lr = expand.grid(alpha = 0:1, lambda = 10^seq(-3, 1, length = 5)),   # glmnet
  svm = expand.grid(C = 2^(-5:5), sigma = 2^(-10:0)),                  # svmRadial uses sigma
  dt  = expand.grid(cp = seq(0.001, 0.05, by = 0.01)),                 # rpart
  nb  = expand.grid(laplace = 0:1, usekernel = c(TRUE,FALSE), adjust = 1),
  knn = expand.grid(k = seq(3, 15, by = 2)),
  xgb = expand.grid(
    nrounds = c(50,100),
    max_depth = c(3,6),
    eta = c(0.01,0.1,0.3),
    gamma = c(0,1),
    colsample_bytree = c(0.6,0.8),
    min_child_weight = c(1,5),
    subsample = c(0.7,1)
  ),
  ann = expand.grid(size = c(5,10,15), decay = c(0.1, 0.01))
)